Single Responsibility Principle
SRP states that a class should have one responsibility and therefore one primary reason to change. It does not mean a class can contain only one method. A common violation is placing business logic, persistence, formatting and notification responsibilities into one class. I separate these concerns when they evolve independently.
SRP is about responsibility, not method count.
Separate concerns that change for different business or technical reasons.
Smaller responsibilities improve testability.
Avoid creating extremely granular classes without a meaningful reason.
Use cohesion as a practical indicator of whether SRP is being respected.